package com.example.netdisk.controller;

import com.example.netdisk.bean.User;
import com.example.netdisk.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;
import java.util.Map;

@Controller
public class UserLoginController {
   @Autowired
    UserService userService;

    @PostMapping("/user/login")
    public  String doUserLogin(User user , HttpSession session, Map<String,Object> map){
//        if (user!=null && StringUtils.hasText(user.getUsername())&&
//            "123456".equals(user.getPassword())){
//            //密码正确时则在session保存用户信息
//            session.setAttribute("loginUser",user);
//            System.out.println("LoginController.doLogin 登录成功 用户名："+user.getUsername());
//            //防止重复提交，使用重定向
//            return "redirect:/main.html";
//        }else {
//            map.put("msg","用户名或密码错误");
//            System.out.println("LoginController.doLogin 登录失败");
//            return  "login";
//        }

        //通过接口查询
        User loginUser = userService.getUserByUsernameAndPassword(user);
        if (loginUser!=null){
            //密码正确时则在session保存用户信息
            session.setAttribute("loginUser",user);
            System.out.println("LoginController.doLogin 登录成功 用户名："+user.getUsername());
            //防止重复提交，使用重定向
            return "redirect:/main.html";
        }else {
            map.put("msg","用户名或密码错误");
            System.out.println("LoginController.doLogin 登录失败");
            return  "login";
        }


    }

    //登出接口

    //添加登出接口
    @RequestMapping("/user/logout")
    public String doLogout(HttpSession httpSession){
        //退出登录则清除session中的用户信息
        httpSession.removeAttribute("loginUser");
        //跳转界面
        return "login";
    }


}
